/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.kai.zhouzhi.dao;

import java.io.Serializable;
import java.util.List;

/**
 *
 * @author Kenny Lin
 */
public interface DaoHelper {

    /**
     * 获取对象
     * @param <T>
     * @param classType 对象类型
     * @param key 对象主键
     * @return
     */
    public <T> T find(Class<T> classType, Object key);

    /**
     * 更新对象
     * @param obj
     */
    public void edit(Object obj);

    /**
     * 保存对象
     * @param obj
     */
    public void create(Object obj);

    /**
     * 删除对象
     * @param entity
     */
    public void destroy(Object obj);

    /**
     * 获取所有对象
     * @param entity
     */
    public <T> List<T> findEntities(Class<T> classType);

    /**
     * 获取分页对象
     * @param entity
     */
    public <T> List<T> findEntities(Class<T> classType, int maxResults, int firstResult);

    /**
     * 获取总对象数
     * @param entity
     */
    public <T> int getCount(Class<T> classType) ;
}
